퍼플렉시티(Perplexity, PPL)

퍼플렉시티(Perplexity, PPL)는 언어 모델이 얼마나 '헷갈려 하는지'를 나타내는 성능 평가 지표입니다. 즉, 이 점수가 낮을수록 모델이 다음에 올 단어를 더 확신에 차서 잘 예측한다는 의미이며, 성능이 좋다고 평가합니다.

퍼플렉시티 : '선택지'의 개수 헷갈리는 정도

퍼플렉시티를 가장 쉽게 이해하는 방법은 '모델이 다음 단어를 예측할 때, 몇 개의 단어를 놓고 고민하는가?'
생각하는 것입니다. 따라서, 모델이 헷갈리는 후보 단어의 개수가 적을수록, 즉 PPL 점수가 낮을수록
다음에 올 단어를 더 명확하게 알고 있다는 의미이므로 더 뛰어난 언어 모델입니다.

PPL = 10 이라는 의미

모델이 다음 단어를 예측할 때, 평균적으로 10개의 단어를 비슷한 후보로 놓고 헷갈려 하고 있다는 뜻입니다.

PPL = 100 이라는 의미

모델이 다음 단어를 예측할 때, 평균적으로 100개의 단어 중에서 고민하고 있다는 뜻입니다.


PPL은 어떻게 계산될까?

PPL은 문장의 확률에 역수를 취해서 계산합니다. 복잡한 수식보다는 개념적으로 이해하는 것이 더 중요합니다.

1. 모델이 문장에 확률을 부여합니다

모델은 "오늘 날씨 좋다"라는 문장이 얼마나 그럴듯한지 확률(예: 0.01)을 계산합니다.
이 확률은 이전 단어들이 주어졌을 때 다음 단어가 나올 확률을 계속 곱해서 계산됩니다.

2. 확률에 역수를 취합니다

모델이 계산한 문장 확률의 역수를 취하여 PPL 값을 얻습니다.
- 확률이 높다 (모델이 문장을 확신한다)
→ 역수를 취하면 PPL 값은 낮아집니다.
- 확률이 낮다 (모델이 문장을 어색해한다)
→ 역수를 취하면 PPL 값은 높아집니다.


PPL의 활용

모델 성능 비교

두 개의 다른 언어 모델 A와 B가 있을 때,
같은 데이터셋으로 PPL을 측정하여 더 낮은 점수가 나온 모델이 더 우수하다고 판단할 수 있습니다.

학습 모니터링

모델이 학습을 거듭할수록 검증 데이터(validation data)에 대한 PPL이 점점 낮아지는 것을 확인하며 학습이 잘 되고 있는지 모니터링할 수 있습니다.


결론적으로

PPL은 언어 모델의 불확실성(uncertainty)을 정량적으로 보여주는 지표이며,
점수가 낮을수록 더 우수한 모델임을 의미합니다.


크로스 엔트로피 (Cross-Entropy)

모델을 훈련시키기 위한 핵심 손실 함수(Loss Funtion)이자,
예측과 정답 사이의 '거리'를 측정하는 기준입니다.

크로스 엔트로피 정의

크로스 엔트로피는 모델의 예측 확률 분포가 실제 정답 분포와 얼마나 다른지를 나타내는 값입니다.
이 값이 바로 모델의 손실(Loss)이 되며, 모델은 훈련을 통해 이 손실 값을 최소화하는 것을 목표로 합니다.


수치의 높낮음이 나타내는 의미

- 손실(Loss)이 낮다: 모델의 예측이 정답과 가깝다는 의미입니다. (훈련이 잘 되고 있음)
- 손실(Loss)이 높다: 모델의 예측이 정답과 멀다는 의미입니다. (훈련이 더 필요함)


손실(Loss)이 계산되는 방식

손실 값은 -log(모델이 정답 클래스를 예측한 확률) 이라는 수식으로 계산됩니다.
로그(log) 함수의 특성상, 입력값(모델의 예측 확률)이 1에 가까우면 결과는 0에 수렴하고, 입력값이 0에 가까워지면 결과는 양의 무한대로 커집니다.

이 때문에 모델이 정답을 90%(0.9)의 확률로 예측하면 손실은 -log(0.9) ≈ 0.1로 매우 낮지만,
정답을 10%(0.1)의 확률로 예측하면 손실은 -log(0.1) ≈ 2.3으로 훨씬 커집니다.
이러한 계산 방식은 모델이 정답을 조금이라도 낮은 확률로 예측할 경우, 손실 값을 크게 증가시켜 더 정답에 가깝게 예측하도록 가중치를 수정하는 역할을 합니다.


PPL과의 관계

크로스 엔트로피와 PPL은 개념적으로, 그리고 수학적으로 매우 밀접하게 연결되어 있습니다.

훈련의 '과정'과 성능의 '결과'

크로스 엔트로피는 모델을 올바른 방향으로 이끄는 '훈련 과정'의 나침반(손실 함수)입니다.
모델은 매 훈련 단계마다 이 손실 값을 줄이기 위해 노력합니다.

퍼플렉시티(PPL)는 그 훈련이 끝난 뒤 모델이 얼마나 똑똑해졌는지를 보여주는 '성능 결과'에 대한 성적표(평가 지표)입니다.
손실을 줄이는 훈련이 잘 되었다면, 당연히 PPL 점수도 낮게 나옵니다.

결론적으로, 두 지표는 PPL = exp(Cross-Entropy) 라는 직접적인 수학적 관계로 묶여 있어, 하나의 값을 낮추는 것은 다른 하나의 값을 낮추는 것과 동일한 목표를 가집니다.


최종 결론

훈련 과정에서 '크로스 엔트로피 손실'을 최소화하는 것은,
성능 지표인 '낮은 PPL' 점수를 달성하기 위한 직접적이고 수학적인 방법입니다.